public class Test {
    public void duplicateZeros(int[] arr) {
        int cur = 0;
        int dst = -1;
        int n = arr.length;
        //找到最后一个复写的位置
        while(cur<n) {
            if(arr[cur]!=0){
                dst++;
            }else {
                dst+=2;
            }
            if(dst>=n-1){
                break;
            }
            cur++;
        }
        //处理边界
        if(dst>=n){
            cur--;
            arr[n-1] = 0;
            dst-=2;
        }
        System.out.println(cur + " " + dst);
        //复写
        while(cur>=0) {
            if(arr[cur]!=0) {
                arr[dst--] = arr[cur--];
            }else {
                arr[dst--] =0;
                arr[dst--] =0;
                cur--;
            }
        }
    }

}
